package com.demo.paypalmanagement.model.vo;

import com.demo.paypalmanagement.common.BaseVO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class ProductsVO extends BaseVO {

    private Long id;

    /**
     * 商品编码，唯一标识商品
     */
    private String productCode;

    /**
     * 商品库存数量，默认为0
     */
    private Integer stockQuantity;

    /**
     * 商品状态，1表示上架，0表示下架，默认为1
     */
    private Integer isActive;

    /**
     * 是否奖品，1表示是，0表示不是，默认为1
     */
    private Integer isPrize;

    /**
     * 商品创建时间，默认为当前时间戳
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * 商品信息最后更新时间，默认为当前时间戳
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private LocalDateTime updatedAt;

    /**
     * 商品主图
     */
    private String mainImage;

    /**
     * 商品子图列表，以数组格式存储
     */
    private String subImages;

    /**
     * 商品名称，不能为空
     */
    private String name;

    /**
     * 商品价格，保留两位小数
     */
    private BigDecimal price;

    /**
     * 商品折前价格，保留两位小数
     */
    private BigDecimal originalPrice;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 购买数量
     */
    private Integer num;

    /**
     * 主图
     */
    private MultipartFile mainFile;

    private String weight;

    /**
     * 子图集合
     */
    private List<MultipartFile> subImgList;

    private Integer randomNum;
    private String spec;
}
